'''给你两个有序整数数组 nums1 和 nums2，请你将 nums2 合并到 nums1 中，使 nums1 成为一个有序数组。

初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 的空间大小等于 m + n，这样它就有足够的空间保存来自 nums2 的元素。

 

示例 1：

输入：nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3
输出：[1,2,2,3,5,6]

来源：力扣（LeetCode）
链接：https://leetcode-cn.com/problems/merge-sorted-array
著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。'''

class Solution(object):
    def merge(self, nums1, m, nums2, n):
        """
        :type nums1: List[int]
        :type m: int
        :type nums2: List[int]
        :type n: int
        :rtype: None Do not return anything, modify nums1 in-place instead.
        """
		ptr1 = 0
		ptr2 = 0
		res = []
		while ptr1 < m and ptr2 < n:
			if nums1[ptr1] < nums2[ptr2]:
				res.append(nums1[ptr1])
				ptr1+=1
			else:
				res.append(nums2[ptr2])
				ptr2+=1
		if ptr1==m:
			res = res+nums2[ptr2:n]
		if ptr2==n:
			res = res+nums1[ptr1:m]
		nums1[:] = res
		return res

nums1= [2,0]
m = 1
nums2 = [1]
n = 1
Solution().merge(nums1,m,nums2,n)